home *** CD-ROM | disk | FTP | other *** search
- Q+E Database Drivers
- for INTERSOLV Q+E Version 6.0
- August 1994
-
- This READ.ME file contains information not included in the Q+E
- Database Driver Reference. This file contains information about
- the following topics:
-
- New Features in the Q+E Drivers
- Renamed Drivers
- New Database Systems Supported
- Database Systems No Longer Supported
- For Btrieve Users
- For dBASE Users
- For INGRES Users
- For NetWare SQL Users
- For Teradata Users
- For Oracle 7 Users
- For Paradox Users
- For SQL Server Users
- Problems with Catalog Stored Procedures?
- Use Statements
- For Sybase System 10 Users
- Before Using the System 10 Driver
- Required Execute Access to TEMPDB
- Data Type Information
- For Text File Users
- For Users of Extend Products
- Aborting a Long-Running Query on a Flat File
- Loading INFORMIX and NetWare SQL DLLs Correctly
- Solving Connection Problems with QEDLLMGR
- Compatibility with Third-Party Drivers
- Microsoft Access Driver
- Microsoft Text Driver
- Lotus Notes Driver
- Microsoft SQLServer Driver
- Microsoft Oracle Driver
-
- A Windows Help version of this file is available in the file
- QDREADME.HLP.
-
- For information supplemental to the INTERSOLV Q+E User's
- Manual, see the file READ.ME or README.HLP.
-
-
- New Features in the Q+E Drivers
-
- The following list summarizes the new features of the drivers that
- are distributed with Q+E version 6.0:
-
- Renamed Drivers
- ---------------
- MDI.The DB2 driver is now called the MDI driver. You can access DB2
- database systems through this driver. You cannot access Teradata
- database systems.
-
- HP ALLBASE/SQL and HP IMAGE/SQL. In Q+E revision 5.x, the SQLBase driver
- supported HP ALLBASE/SQL and HP IMAGE/SQL. In this revision of Q+E, the
- ALLBASE driver supports these database systems.
-
- OS/2 Database Manager. The OS/2 Database Manager driver is now called the
- DB2/2 driver.
-
- New Database Systems Supported
- ------------------------------
- Clipper files. The dBASE driver now supports Clipper files.
-
- DB2/6000 database and gateway. The DB2/2 driver (formerly called the OS/2
- Database Manager driver) now supports DB2/6000 database systems and
- SQL/400, MVS DB2, and SQL/DS through the DDCS/60000 gateway.
-
- FoxPro and FoxBASE. The dBASE driver now supports FoxPro and FoxBASE files,
- as well as FoxPro and FoxBASE-compatible locking.
-
- INFORMIX 5. The new INFORMIX 5 driver provides multiple connections from a
- single workstation and supports more than 64K of data. (You can access
- INFORMIX 5 files with the INFORMIX 4 driver, but it does not provide these
- features.)
-
- INGRES 6.4/04. The new INGRES 6.4/04 driver supports INGRES 6.4/04. To use
- this driver, double-click the ODBC icon in the Windows Control Panel. A
- list of data sources appears. Click Add. The list of installed drivers
- appears. Select Q+E INGRES 6.4/04. The section "For INGRES Users" lists
- the system requirements and known issues.
-
- Oracle 7. The new Oracle 7 driver supports Oracle 7 database systems.
-
- Sybase System 10. The new Sybase System 10 driver supports the Sybase
- System 10 database system.
-
- Database Systems No Longer Supported
- ------------------------------------
- The Tandem NonStop SQL database system is no longer supported.
-
-
- For Btrieve Users
-
- There are two versions of WBTRCALL.DLL: networked and not networked.
- INTERSOLV supplies the not networked version when you install the Btrieve
- driver. If you want network access, you must get the networked version from
- Novell.
-
- If you are already using networked Btrieve, do not install the INTERSOLV
- version of WBTRCALL.DLL, because it does not support network access. When
- the Setup program asks whether you wish to overwrite WBTRCALL.DLL, answer
- No.
-
-
- For dBASE Users
-
- - The dBASE driver supports FoxBase and FoxPro tables and indexes.
-
- - The dBASE driver offers five different locking schemes: dBASE, Clipper,
- Fox, Q+E, and Q+EVirtual.
-
- - The CREATE INDEX statement accepts dBASE-style index expressions as an
- alternative to the comma-separated list of column names.
-
- - Concatenated indexes with numeric or date types no longer require the STR
- or DTOS function to be specified in the Where clause to use the index.
- For example, an index based on STR(col1,4)+STR(col2,4) previously required
- a Where clause that specifically used the STR function. So a Where clause
- like
- WHERE STR(col1,4) = ' 45' and STR(col2,4) = ' 68'
- should be replaced with
- WHERE col1 = 45 and col2 = 68
-
- - File locking has changed. With previous versions of the dBASE driver that
- had file locking enabled, the file lock was placed when a table was
- opened and released when the table was closed. With this version of the
- dBASE driver, file locks are held for a shorter period. The file lock is
- obtained during the first modification to the table in a transaction and
- is held until the Commit. File locks do not prevent readers from
- accessing a table nor do they prevent new records from being inserted
- into the table.
-
- - The Order By clause now takes advantage of indexes to achieve ordering.
- This optimization should boost performance.
-
- - A subquery can now be specified in the Set clause of Update statements.
-
- - Indexes that contain FOR expressions will be properly maintained.
-
- - Indexes with FOR expressions are ignored during query optimization.
-
-
- For INGRES Users
-
- A driver for INGRES 6.4/04 is now available. System requirements are as
- follows:
-
- - Installed and configured INGRES client software INGRES 6.4/04 (net.win/00)
- or later.
-
- - Three INGRES patches, with these (or later) dates:
- #2766: IIW3GCC.DLL, 11-09-93
- #2894: FRONTCL.DLL, 12-03-93
- #3054: IIW3CL.DLL, 02-17-94.
-
- You can get these patches from your INGRES customer support representative.
- INTERSOLV recommends that you monitor the INGRES Technical Support BBS,
- at (501) 748-2442 9600bps/N81, for additional patches as they become
- available.
-
-
- The following known issues are related to this driver:
-
- - INGRES bugs #60353 and #60729.
- Both relate to improper termination of INGRES connections under error
- conditions. Both can cause GPFs in IIW3GCC.DLL and require exiting Windows
- before reconnecting. As a workaround, set II_GCC_UNLOAD to FALSE in
- AUTOEXEC.BAT and CONFIG.ING. However, if you still encounter this problem,
- run chkdsk or another disk repair utility as a precaution.
-
- - Under some conditions, large numeric values are truncated to 0.0. This can
- be reproduced using only INGRES ISQL, and is under investigation by INGRES.
-
- - Under some conditions, degenerate Where clauses (for example, Where 1 = 0)
- can cause unpredictable cursor behavior. This cannot be reproduced using
- INGRES ISQL but can be reproduced by a few lines of embedded SQL. INGRES
- has identified this problem and plans to correct it in the upcoming
- 6.4/04 (srv/01) Program Update Release. Users of Q+E will need this
- Program Update Release.
-
-
- For NetWare SQL Users
-
- If you lock a record, Q+E may use a current of cursor operation to
- modify or delete a row. The NetWare SQL driver simulates a current
- of cursor operation. This simulation may generate a large Where clause
- even though Q+E is using only one column as the key. NetWare SQL limits
- the number of characters in a Where clause. The workaround is to disable
- current of cursor operations when the user locks a record before
- updating it. To do this, add the line
-
- QeDontUseCOC=1
-
- to the NetWareSQL section of the ODBC.INI file.
-
-
- For Teradata Users
-
- Contrary to the information in the Database Driver Reference, you cannot
- use the MDI driver for Teradata access. You receive syntax errors when
- the application makes catalog function calls.
-
-
- For Oracle 7 Users
-
- Oracle 7 users should be aware of possible memory leaks in the most recent
- version of the Oracle 7 client API dynamic link library, ORA7WIN.DLL, which
- is dated 11/29/93. If you are using this DLL, try to limit the number of
- logons to Oracle 7. You can use QEDLLOAD.EXE to load ORA7WIN.DLL into memory.
- Or, you can try using the older version of ORA7WIN.DLL, (which you can download
- from our Bulletin Board system), but we cannot guarantee the functionality of
- the older version.
-
- We are working with Oracle to resolve this problem. When we have a solution, we
- will post it on our BBS.
-
-
- For PARADOX Users
-
- The Order By clause now takes advantage of indexes to achieve ordering.
- This optimization should boost performance.
-
- A subquery can now be specified in the Set clause of Update statements.
-
-
- For SQL Server Users
-
- The following topics apply to users of Microsoft SQL Server and Sybase
- SQL Server.
-
- Problems with Catalog Stored Procedures?
- ----------------------------------------
- If you have problems with the catalog functions returning incorrect
- data, you may need to upgrade your catalog stored procedures. In
- particular, the SQL Server version 4.2 procedures do not provide
- enough information for many of our catalog functions to work
- properly. Make sure you have installed the latest version of the
- stored procedures, which are available from your database vendor.
- Refer to your SQL Server documentation for more information.
-
- Use Statements
- --------------
- The SQL Server and Sybase drivers now let a user perform a Use statement
- to change the current database. A Use statement affects every statement
- associated with the current connection. Any future call to SQLExecute or
- one of the catalog routines with Qualifier set to NULL or % is executed
- on the new database. The exception to this rule is that some prepared
- Select statements may have already been executed.
-
- Users may also execute catalog functions using any valid database name
- as the qualifier. This does not affect the user's current database or
- any future executes.
-
-
- For Sybase System 10 Users
-
- Before Using the System 10 Driver
- ---------------------------------
- Before using the Sybase System 10 driver, you must first
- contact Sybase's Customer Service and Support line. Call (800)
- 879-2273 and request patch number EBF3284 for case number
- 198481.
-
- Required Execute Access to TEMPDB
- ---------------------------------
- To use Sybase System 10.0, users must have execute access to
- TEMPDB.
-
- Data Type Information
- ---------------------
- The Sybase System 10.0 for Solaris installmaster script (on the server)
- does not have the correct numeric and decimal data type information.
- To get the correct data type information from the Sybase System 10 driver,
- someone with the correct database permissions must execute the following
- statements:
-
- UPDATE sybsystemprocs.dbo.spt_datatype_info
- SET data_precision = 38, numeric_scale = 38
- WHERE type_name = 'decimal'
- UPDATE sybsystemprocs.dbo.spt_datatype_info
- SET data_precision = 38, numeric_scale = 38
- WHERE type_name = 'numeric'
- INSERT INTO sybsystemprocs.dbo.spt_datatype_info_ext values
- (26, 'precision,scale')
- INSERT INTO sybsystemprocs.dbo.spt_datatype_info_ext values
- (10, 'precision,scale')
-
-
- For Text File Users
-
- You cannot use single or double quotation marks as delimiters.
-
-
- For Users of Extend Products
-
- If you are using Extend for Improv, Extend for Excel, or Extend for QPW
- and you have set ExecAsync=1, you can obtain the same functionality
- by setting the YieldProc attribute to 3.
-
-
- Aborting a Long-Running Query on a Flat File
-
- INTERSOLV has included a nonstandard option to the flat-file drivers
- that enables you to press the ESC key to abort a long-running query.
- To use this option, create a separate data source for each application.
- Open the ODBC.INI file, and, under the section for the data source
- you created, add the line WorkArounds=32.
-
-
-
- Loading INFORMIX and NetWare SQL DLLs Correctly
-
- The distribution diskette contains a utility called QEDLLOAD.EXE. If
- you use the INFORMIX or NetWare SQL drivers, this utility tries to
- load the following DLLs:
-
- WXQLCALL.DLL, which is required for NetWare SQL
- LDLLSQLW.DLL, which is required for INFORMIX.
-
- To function, these files must be loaded into low memory (the first
- 640K). This can be a problem, because by the time you attempt to
- load one of these DLLs, other files may occupy the available space
- in low memory. When this happens, the DLL is loaded into available
- high memory (above 1000K), where it does not function correctly,
- preventing your application from connecting. To prevent this problem,
- load these DLLs immediately when entering Windows, while lower memory
- space may still be available. QEDLLOAD.EXE is provided to do this
- for you.
-
- To have QEDLLOAD properly load one of these DLLs, you must create
- new items in the Startup program group in the Program Manager. If
- you no longer have a Startup group, add one as follows:
-
- 1 In the Program Manager, open the File menu and choose New. The New
- Program Object dialog box appears.
- 2 In this dialog box, select the New Program Group option, and click
- OK. The Program Group Properties dialog box appears.
- 3 Supply the information for this new group. In the Description box,
- type Startup as the name of the new group. In the Group File box,
- type STARTUP.GRP. Click OK.
-
- To add QEDLLOAD to the Startup group, follow these steps:
-
- 1 Select the Startup group.
- 2 In the Program Manager, open the File menu and choose New. The New
- Program Object dialog box appears.
- 3 In this dialog box, select the New Program Item option, and click
- OK. The Program Item Properties dialog box appears.
- 4 Supply the information for this new item. In the Description box,
- type QEDLLOAD. In the Command Line box, type the full path and file
- name for QEDLLOAD.EXE, then the name of the DLL that you want loaded
- (WXQLCALL.DLL for NetWare SQL, LDLLSQLW.DLL for INFORMIX). Click OK.
-
- After you complete this procedure, QEDLLOAD attempts to load the
- specified DLL into low memory every time you start Windows.
-
- If, after you complete this procedure, you attempt to connect to a data
- source and you receive either of the following messages, retry with
- fewer programs loaded in memory.
-
- For NetWare SQL, the message is:
-
- Insufficient DOS memory for Windows Requestor Interface
-
- For INFORMIX, the message is:
-
- There is not enough memory available
-
- For INFORMIX, this may still not work, as the INET version 4.10 tries to
- allocate a buffer in low memory. Even though the application may be able
- to load the DLL in low memory, there may not be enough low memory
- available to allocate the buffer required for TSR-based products
- (INET 4.10).
-
- Failure trying to allocate this buffer can result in odd behavior.
-
-
- Solving Connection Problems with QEDLLMGR
-
- INTERSOLV supplies a tool called QEDLLMGR, which is primarily for
- INTERSOLV Technical Support use. QEDLLMGR is not a supported product
- and is provided on an as-is, use-at-your-own-risk basis. This tool
- lists the DLLs that are loaded in memory.
-
- DLLs (dynamic link libraries) are the software components used by
- the ODBC DriverManager to connect to your DBMS server from your
- client workstation. The Q+E drivers are implemented as DLLs, and
- they call other DLLs provided by your DBMS vendor for network access.
- Unfortunately, the error messages generated by the Microsoft ODBC
- Driver Manager do not identify which DLL is missing if it cannot
- locate one or more of the required DLLs on your system.
-
- QEDLLMGR is useful for determining which required DLL files are
- missing when your application cannot connect to the specified
- data source. Since the ODBC Driver Manager provides no indication
- of the problem when it cannot load a DLL, simple problems such
- as an inadequate DOS PATH specification can be hard to solve. When
- QEDLLMGR cannot load a DLL, it reports which files it cannot find.
-
- If your ODBC application cannot load a Q+E driver DLL:
-
- 1 Double-click the QEDLLMGR icon.
- 2 Enter the driver's fully qualified pathname (the DOS path/filename
- that appears after the "driver=" in the ODBC.INI entry for your data
- source) in the Load command from the File menu.
- 3 Click OK.
-
- QEDLLMGR then displays a message for each required DLL that it cannot
- find. Consult your DBMS vendor's documentation, your network administrator,
- or your database administrator to locate the missing DLLs. If QEDLLMGR
- identifies a Q+E driver as the missing component, perform the following
- steps:
-
- 1 Check to make sure that you spelled the driver file name and path
- correctly.
- 2 Our drivers are installed in your Windows \SYSTEM directory unless
- you relocated them after the installation. If you did relocate them,
- be sure that the directory you installed them in is on your DOS $PATH.
- 3 If you cannot locate the correct Q+E driver on your system, reinstall
- Q+E from the original source disks.
-
-
- Compatibility with Third-Party Drivers
-
- Microsoft Access Driver
- -----------------------
- To have the Query Builder display a list of the tables in an Access
- database, add the following line to each Access data source defined in
- the ODBC.INI file:
-
- QeDatabaseIsA=2
-
- Microsoft Text Driver
- ---------------------
- To use Q+E with the Microsoft ODBC Text driver, add the following line
- to that driver's data source specification in the ODBC.INI file:
-
- QeDataDictExtensions=1
-
- Lotus Notes Driver
- ------------------
- To have the Query Builder recognize the "$" in column names, edit the
- ODBC.INI file and add the following line to each Notes data source
- defined in the ODBC.INI file:
-
- QeColumnFirstChars="$"
- QeColumnMiddleChars="$"
-
- The Notes driver does not support reading data in binary. However, Q+E
- reads fields larger that 255 bytes in binary. Therefore, when a field is
- larger than 255 bytes, the following error message appears:
-
- Driver not capable
-
- To work around this, add the following line to each Notes data source
- defined in the ODBC.INI file:
-
- QeReadMemoChar=1
-
- Microsoft SQLServer Driver
- --------------------------
- The Microsoft SQLServer driver places the owner name before the
- qualifier and database name. This prevents Q+E from opening a given
- table properly. To work around this, add the following line to each
- SQLServer data source defined in the ODBC.INI file:
-
- QeQualifierSyntax=2
-
- Microsoft Oracle Driver
- -----------------------
- The Microsoft Oracle driver places the table qualifier at the end, which
- prevents Q+E from opening the table. To ensure that tables are opened
- properly, add the following line to each ORACLE data source defined in
- the ODBC.INI file:
-
- QeQualifierSyntax=1
-
- End of QDREAD.ME file
-
-